﻿#include "mainwindow.h"
#include <QApplication>
#include "mainwindow.h"
#include <QApplication>
#include <QSqlQuery>
#include <QDebug>
#include <QSqlDatabase>
#include <QSqlTableModel>
#include <QSqlDriver>
#include <QSqlRecord>
#include <QSqlError>
#include <QTextCodec>
int main(int argc, char *argv[])
{
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF8"));
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF8"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF8"));


    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");  //主机名
    //db.setPort(3306);



    db.setDatabaseName("ZZB");  //数据库名
  //  db.setDatabaseName("ljt");  //数据库名




    db.setUserName("root");       //用户名
    db.setPassword("123456");      //密码
    db.open();
    //查询————————成功
    //QSqlQuery query;
    //bool success;
    //  query.exec("select * from ljtt");
    //  QSqlRecord rec=query.record();
    //  qDebug()<<QObject::tr("ljtt 字段：")<<rec.count();
    //插入记录————————成功：在此插入两条信息
    //  query.prepare("insert into ljtt values(?,?,?)");
    //  query.bindValue(0,2);
    //  query.bindValue(1,"哈哈");
    //  query.bindValue(2,"123");
    //  bool success;
    //  success=query.exec();
    //  if(!success)
    //      {
    //          QSqlError lastError=query.lastError();
    //          qDebug()<<lastError.driverText()<<QString(QObject::tr("插入失败"));
    //      }
    //删除————————成功：在此删除id=1的信息，此时表中还保留id=2的数据库
    //  query.exec("delete from ljtt where id=1");
    //更新（修改）——————成功：把id=2的数据修改name为“嘿嘿”num为“123456”
    //  query.clear();
    //
    //  query.prepare(QString("update ljtt set name=?,num=? where id=2"));
    //  query.bindValue(0,"嘿嘿");
    //  query.bindValue(1,"123456");
    //  success=query.exec();
    //  if(!success)
    //      {
    //          QSqlError lastError=query.lastError();
    //          qDebug()<<lastError.driverText()<<QString(QObject::tr("更新失败"));
    //       }


    if(true==db.open ())
    {
        qDebug()<<"succ";
    }
    else
    {
        qDebug()<<"faild";
        QSqlError error=db.lastError();
        qDebug()<<error.text();
        exit(0);
    }






    QApplication a(argc, argv);
    MainWindow w;

    w.show();

    return a.exec();
}
